
package fenetres;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.*;

import modeles.*;

import controles.*;


public class ChoiceSupplierFrame extends JInternalFrame{
JPanel entetePanel, listPanel;
	
	public JTable frsTable;
	public GenericTableModel tableModel;
	String [] titreTable = {"Codes","Noms","Adresses","Telephones"};
	public JButton validerBut,annulerBut;
	
	public Vector<Fournisseur> listeInfoFournisseur;
	
	public Utilisateur userConnected;
	public Accueil accueil;
	
	
	public ChoiceSupplierFrame (Utilisateur _userConnected,Accueil _accueil){
		super("Mise a jour Fournisseur",
	              false, //resizable
	              true, //closable
	              false, //maximizable
	              false);//iconifiable
		
		userConnected = _userConnected;
		accueil = _accueil;
		
		listeInfoFournisseur =  new Vector<Fournisseur>();
		boolean accept = checkUserConnected();
		if(accept){
			setSize(700,500);
			entetePanel = new JPanel ();
			entetePanel.setBounds(0,0,700,100);
			this.getContentPane().setLayout(null);
			elaboreEnTeteListProduit ();
			this.getContentPane().add(entetePanel);
			elaboreTableauProduit();
			
			
			//recuperation de la taille de la fenetre
			setLocation(30, 100);
			this.getContentPane().add(listPanel);
			this.setTitle("Liste de tous les fournisseurs");
			this.setVisible(true);
		}
	}
	
	public boolean checkUserConnected(){
		//userConnected = accueil.authent.getUserConnected();
		if( userConnected == null){
			JOptionPane.showMessageDialog(null, "Aucun utilisateur connecte!! \n Veuillez connecter svp :) ","Erreur",JOptionPane.ERROR_MESSAGE);
			this.dispose();
			return false;
		}
		else {
			return true;
		}
	}
	public void elaboreEnTeteListProduit(){
		JLabel enteteLab  = new JLabel ("Liste de tous les fournisseurs ");
		enteteLab.setFont(new java.awt.Font("Century Schoolbook L", java.awt.Font.ITALIC, 28));
		enteteLab.setForeground(Color.BLUE);
		entetePanel.setLayout(null);
		entetePanel.add(enteteLab);
		enteteLab.setBounds(250,50,350,25);
		
	}

	public void elaboreTableauProduit (){
		listPanel = new JPanel ();
		listPanel.setBounds(0,100,700,350);
		
		updateListeFournisseur();
		
		
	}
	//mise à jour des donnees du tableau
public void updateTableauProduit (){
	DBManager dbManager = new DBManager ();
	Fournisseur oFournisseurRecup = new Fournisseur ();
	
	listeInfoFournisseur = oFournisseurRecup.getListFournisseur(dbManager);
		
		if(listeInfoFournisseur.size()>0)
		{
			//tableModel.removeAllRows();
			for(int i=0; i<listeInfoFournisseur.size();i++){
				
				tableModel.addNewRow();

				//element de la forme idProduit;idVendeur;prixNegoc;qte;resultat
				Fournisseur oFournisseur = listeInfoFournisseur.get(i);
						
				tableModel.setValueAt(oFournisseur.getFourn_code(), i, 0);
				tableModel.setValueAt(oFournisseur.getFourn_nom(), i, 1);
				tableModel.setValueAt(oFournisseur.getFourn_adresse(), i, 2);
				tableModel.setValueAt(oFournisseur.getFourn_tel(), i, 3);
				
				
			}
		}
		tableModel.fireTableDataChanged();
	}

//mise à jour du fenetre graphique
public void updateListeFournisseur(){
	 tableModel = new GenericTableModel(titreTable);
	 frsTable = new JTable ();
	 frsTable.setOpaque(false);
	 frsTable.setRowHeight(25);
	 frsTable.setGridColor(Color.darkGray);
	 frsTable.setShowGrid(true);

	 frsTable.setModel(tableModel);
	 updateTableauProduit ();
	
	
	 JScrollPane scroll = new JScrollPane(frsTable);
	 scroll.setBounds(5,5,650, 300);
	 
	 validerBut = new JButton("Modifier");
	 validerBut.addActionListener(new ChoiseSupplierAction(this));
	 
	 annulerBut = new JButton("Annuler");
	 annulerBut.addActionListener(new ChoiseSupplierAction(this));

	listPanel.setLayout(null);
	listPanel.add(validerBut);
	listPanel.add(annulerBut);
	
	//listPanel.add(annulerBut);
	
	validerBut.setBounds(180,320,150,25);
	annulerBut.setBounds(360,320,120,25);

	 listPanel.add(scroll);
}


}